GdkAppLaunchContext: Set DISPLAY variable for X11
authorOlivier Fourdan <ofourdan@redhat.com>
Tue, 15 Sep 2015 12:17:05 +0000 (14:17 +0200)
committerMatthias Clasen <mclasen@redhat.com>
Tue, 6 Oct 2015 03:40:56 +0000 (23:40 -0400)
The environment variable DISPLAY makes sense only for X11, so set its
value in the X11 backend.

https://bugzilla.gnome.org/show_bug.cgi?id=754983

gdk/x11/gdkapplaunchcontext-x11.c

index 6e816e4089df3edc639138b7fdb392a6d3bdc89c..e82f57805750e550989dc6684dc6e14bd8d56d7c 100644 (file)
@@ -463,10 +463,17 @@ GdkAppLaunchContext *
 _gdk_x11_display_get_app_launch_context (GdkDisplay *display)
 {
   GdkAppLaunchContext *ctx;
+  static gchar *display_name;
 
   ctx = g_object_new (GDK_TYPE_X11_APP_LAUNCH_CONTEXT,
                       "display", display,
                       NULL);
 
+  display_name = g_app_launch_context_get_display (G_APP_LAUNCH_CONTEXT (ctx),
+                                                   NULL, NULL);
+  if (display_name)
+    g_app_launch_context_setenv (G_APP_LAUNCH_CONTEXT (ctx),
+                                 "DISPLAY", display_name);
+
   return ctx;
 }